// 版权归 瞄你个汪 所有。使用本代码应遵守相关法律法规和Apache 2.0开源许可要求。
package top.geeke.database.seed;

import top.geeke.entity.SysRoleMenu;
import top.geeke.toolkit.supertable.seed.SuperSeedData;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 系统角色菜单表种子数据
 * </p>
 *
 * @author 瞄你个汪
 * @since 2024/5/26 8:13
 */
public class SysRoleMenuSeedData implements SuperSeedData<SysRoleMenu> {
    @Override
    public List<SysRoleMenu> getSeedData() {
        Long menuId = 1310000000001L;
        return new ArrayList<SysRoleMenu>(){{
            // 数据面板【admin/1300000000101】
            add(newInstance(1300000000101L, 1300000000101L, menuId + 100000));
            add(newInstance(1300000000102L, 1300000000101L, menuId + 100001));
            add(newInstance(1300000000103L, 1300000000101L, menuId + 100002));

            // 系统管理
            add(newInstance(1300000000111L, 1300000000101L, menuId + 110000));
            // 账号管理
            add(newInstance(1300000000121L, 1300000000101L, menuId + 110100));
            add(newInstance(1300000000122L, 1300000000101L, menuId + 110101));
            add(newInstance(1300000000123L, 1300000000101L, menuId + 110102));
            add(newInstance(1300000000124L, 1300000000101L, menuId + 110103));
            add(newInstance(1300000000125L, 1300000000101L, menuId + 110104));
            add(newInstance(1300000000126L, 1300000000101L, menuId + 110105));
            add(newInstance(1300000000127L, 1300000000101L, menuId + 110106));
            add(newInstance(1300000000128L, 1300000000101L, menuId + 110107));
            add(newInstance(1300000000129L, 1300000000101L, menuId + 110108));
            add(newInstance(1300000000130L, 1300000000101L, menuId + 110109));
            add(newInstance(1300000000130L, 1300000000101L, menuId + 110110));
            // 角色管理
            add(newInstance(1300000000141L, 1300000000101L, menuId + 110200));
            add(newInstance(1300000000142L, 1300000000101L, menuId + 110201));
            add(newInstance(1300000000143L, 1300000000101L, menuId + 110202));
            add(newInstance(1300000000144L, 1300000000101L, menuId + 110203));
            add(newInstance(1300000000145L, 1300000000101L, menuId + 110204));
            add(newInstance(1300000000146L, 1300000000101L, menuId + 110205));
            add(newInstance(1300000000147L, 1300000000101L, menuId + 110206));
            add(newInstance(1300000000148L, 1300000000101L, menuId + 110207));
            // 机构管理
            add(newInstance(1300000000151L, 1300000000101L, menuId + 110300));
            add(newInstance(1300000000152L, 1300000000101L, menuId + 110301));
            add(newInstance(1300000000153L, 1300000000101L, menuId + 110302));
            add(newInstance(1300000000154L, 1300000000101L, menuId + 110303));
            // 职位管理
            add(newInstance(1300000000161L, 1300000000101L, menuId + 110400));
            add(newInstance(1300000000162L, 1300000000101L, menuId + 110401));
            add(newInstance(1300000000163L, 1300000000101L, menuId + 110402));
            add(newInstance(1300000000164L, 1300000000101L, menuId + 110403));
            add(newInstance(1300000000165L, 1300000000101L, menuId + 110404));
            // 个人中心
            add(newInstance(1300000000171L, 1300000000101L, menuId + 110500));
            add(newInstance(1300000000172L, 1300000000101L, menuId + 110501));
            add(newInstance(1300000000173L, 1300000000101L, menuId + 110502));
            add(newInstance(1300000000174L, 1300000000101L, menuId + 110503));
            add(newInstance(1300000000175L, 1300000000101L, menuId + 110504));
            // 通知公告
            add(newInstance(1300000000181L, 1300000000101L, menuId + 110600));
            add(newInstance(1300000000182L, 1300000000101L, menuId + 110601));
            add(newInstance(1300000000183L, 1300000000101L, menuId + 110602));
            add(newInstance(1300000000184L, 1300000000101L, menuId + 110603));
            add(newInstance(1300000000185L, 1300000000101L, menuId + 110604));
            add(newInstance(1300000000186L, 1300000000101L, menuId + 110605));
            add(newInstance(1300000000187L, 1300000000101L, menuId + 110606));
            // 三方账号
            add(newInstance(1300000000191L, 1300000000101L, menuId + 110700));
            add(newInstance(1300000000192L, 1300000000101L, menuId + 110701));
            add(newInstance(1300000000193L, 1300000000101L, menuId + 110702));
            add(newInstance(1300000000194L, 1300000000101L, menuId + 110703));
            add(newInstance(1300000000195L, 1300000000101L, menuId + 110704));

            // 平台管理
            add(newInstance(1300000000201L, 1300000000101L, menuId + 120000));

            // 任务调度
            add(newInstance(1300000000251L, 1300000000101L, menuId + 120500));
            add(newInstance(1300000000252L, 1300000000101L, menuId + 120501));
            add(newInstance(1300000000253L, 1300000000101L, menuId + 120502));
            add(newInstance(1300000000254L, 1300000000101L, menuId + 120503));
            add(newInstance(1300000000255L, 1300000000101L, menuId + 120504));
            // 系统监控
            add(newInstance(1300000000261L, 1300000000101L, menuId + 120600));
            // 缓存管理
            add(newInstance(1300000000271L, 1300000000101L, menuId + 120700));
            add(newInstance(1300000000272L, 1300000000101L, menuId + 120701));
            add(newInstance(1300000000273L, 1300000000101L, menuId + 120702));
            // 行政区域
            add(newInstance(1300000000281L, 1300000000101L, menuId + 120800));
            add(newInstance(1300000000282L, 1300000000101L, menuId + 120801));
            add(newInstance(1300000000283L, 1300000000101L, menuId + 120802));
            add(newInstance(1300000000284L, 1300000000101L, menuId + 120803));
            add(newInstance(1300000000285L, 1300000000101L, menuId + 120804));
            add(newInstance(1300000000286L, 1300000000101L, menuId + 120805));
            // 文件管理
            add(newInstance(1300000000291L, 1300000000101L, menuId + 120900));
            add(newInstance(1300000000292L, 1300000000101L, menuId + 120901));
            add(newInstance(1300000000293L, 1300000000101L, menuId + 120902));
            add(newInstance(1300000000294L, 1300000000101L, menuId + 120903));
            add(newInstance(1300000000295L, 1300000000101L, menuId + 120904));
            add(newInstance(1300000000296L, 1300000000101L, menuId + 120905));

            // 日志管理
            add(newInstance(1300000000301L, 1300000000101L, menuId + 130000));

            add(newInstance(1300000000311L, 1300000000101L, menuId + 130100));
            add(newInstance(1300000000312L, 1300000000101L, menuId + 130101));
            add(newInstance(1300000000313L, 1300000000101L, menuId + 130102));
            add(newInstance(1300000000321L, 1300000000101L, menuId + 130200));
            add(newInstance(1300000000322L, 1300000000101L, menuId + 130201));
            add(newInstance(1300000000323L, 1300000000101L, menuId + 130202));
            add(newInstance(1300000000324L, 1300000000101L, menuId + 130203));
            add(newInstance(1300000000331L, 1300000000101L, menuId + 130300));
            add(newInstance(1300000000332L, 1300000000101L, menuId + 130301));
            add(newInstance(1300000000333L, 1300000000101L, menuId + 130302));

            // 帮助文档
            add(newInstance(1300000000401L, 1300000000101L, menuId + 150000));
            add(newInstance(1300000000402L, 1300000000101L, menuId + 150100));
            add(newInstance(1300000000403L, 1300000000101L, menuId + 150400));

            // 其他角色默认菜单
            // 数据面板【1300000000102】
            add(newInstance(1300000000501L, 1300000000102L, menuId + 100000));
            add(newInstance(1300000000502L, 1300000000102L, menuId + 100001));
            add(newInstance(1300000000503L, 1300000000102L, menuId + 100002));
            // 机构管理
            add(newInstance(1300000000511L, 1300000000102L, menuId + 110300));
            // 个人中心
            add(newInstance(1300000000521L, 1300000000102L, menuId + 110500));
            add(newInstance(1300000000522L, 1300000000102L, menuId + 110501));
            add(newInstance(1300000000523L, 1300000000102L, menuId + 110502));
            add(newInstance(1300000000524L, 1300000000102L, menuId + 110503));
            add(newInstance(1300000000525L, 1300000000102L, menuId + 110504));

            // 数据面板【1300000000103】
            add(newInstance(1300000000601L, 1300000000103L, menuId + 100000));
            add(newInstance(1300000000602L, 1300000000103L, menuId + 100001));
            add(newInstance(1300000000603L, 1300000000103L, menuId + 100002));
            // 机构管理
            add(newInstance(1300000000611L, 1300000000103L, menuId + 110300));
            // 个人中心
            add(newInstance(1300000000621L, 1300000000103L, menuId + 110500));
            add(newInstance(1300000000622L, 1300000000103L, menuId + 110501));
            add(newInstance(1300000000623L, 1300000000103L, menuId + 110502));
            add(newInstance(1300000000624L, 1300000000103L, menuId + 110503));
            add(newInstance(1300000000625L, 1300000000103L, menuId + 110504));

            // 数据面板【1300000000104】
            add(newInstance(1300000000701L, 1300000000104L, menuId + 100000));
            add(newInstance(1300000000702L, 1300000000104L, menuId + 100001));
            add(newInstance(1300000000703L, 1300000000104L, menuId + 100002));

            // 机构管理
            add(newInstance(1300000000711L, 1300000000104L, menuId + 110300));

            // 个人中心
            add(newInstance(1300000000721L, 1300000000104L, menuId + 110500));
            add(newInstance(1300000000722L, 1300000000104L, menuId + 110501));
            add(newInstance(1300000000723L, 1300000000104L, menuId + 110502));
            add(newInstance(1300000000724L, 1300000000104L, menuId + 110503));
            add(newInstance(1300000000725L, 1300000000104L, menuId + 110504));

            // 数据面板【1300000000105】
            add(newInstance(1300000000801L, 1300000000105L, menuId + 100000));
            add(newInstance(1300000000802L, 1300000000105L, menuId + 100001));
            add(newInstance(1300000000803L, 1300000000105L, menuId + 100002));
            // 机构管理
            add(newInstance(1300000000811L, 1300000000105L, menuId + 110300));
            // 个人中心
            add(newInstance(1300000000821L, 1300000000105L, menuId + 110500));
            add(newInstance(1300000000822L, 1300000000105L, menuId + 110501));
            add(newInstance(1300000000823L, 1300000000105L, menuId + 110502));
            add(newInstance(1300000000824L, 1300000000105L, menuId + 110503));
            add(newInstance(1300000000825L, 1300000000105L, menuId + 110504));
        }};
    }

    public SysRoleMenu newInstance(Long id, Long roleId, Long menuId) {
        SysRoleMenu roleMenu = new SysRoleMenu();
        roleMenu.setId(id);
        roleMenu.setRoleId(roleId);
        roleMenu.setMenuId(menuId);
        return roleMenu;
    }
}
